home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / LSC213.cpt / SCSIMgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-09-26  |  1.6 KB  |  88 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  SCSIMgr.h
  4.  *
  5.  *  Copyright (c) 1986, 1987 THINK Technologies, Inc.
  6.  *  These interfaces are based on information copyrighted
  7.  *  by Apple Computer, Inc., 1985, 1986, 1987.
  8.  *
  9.  */
  10.  
  11. #ifndef    _SCSIMgr_
  12. #define _SCSIMgr_
  13.  
  14.  
  15. /*  transfer instruction op codes  */
  16. enum {
  17.     scInc = 1,
  18.     scNoInc,
  19.     scAdd,
  20.     scMove,
  21.     scLoop,
  22.     scNop,
  23.     scStop,
  24.     scComp
  25. };
  26.  
  27. /*  result codes  */
  28. enum {
  29.     scCommErr = 2,
  30.     scArbNBErr,
  31.     scBadParmsErr,
  32.     scPhaseErr,
  33.     scCompareErr,
  34.     scMgrBusyErr,
  35.     scSequenceErr,
  36.     scBusTOErr,
  37.     scComplPhaseErr
  38. };
  39.  
  40. #define sbSIGWord        0x4552
  41. #define pMapSIG            0x504D
  42.  
  43.  
  44. typedef struct SCSIInstr {
  45.     int            scOpcode;
  46.     long        scParam1;
  47.     long        scParam2;
  48. } SCSIInstr;
  49.  
  50.  
  51. typedef struct Block0 {
  52.     unsigned short    sbSig;
  53.     unsigned short    sbBlkSize;
  54.     unsigned long    sbBlkCount;
  55.     unsigned short    sbDevType;
  56.     unsigned short    sbDevId;
  57.     unsigned long    sbData;
  58.     unsigned short    sbDrvrCount;
  59.     unsigned long    ddBlock;
  60.     unsigned short    ddSize;
  61.     unsigned short    ddType;
  62.     unsigned short    ddPad[243];        /* to make size be 512 */
  63. }Block0;
  64.  
  65. typedef struct Partition {
  66.     unsigned short    pmSig;
  67.     unsigned short    pmSigPad;
  68.     unsigned long    pmMapBlkCnt;
  69.     unsigned long    pmPyPartStart;
  70.     unsigned long    pmPartBlkCnt;
  71.     unsigned char    pmPartName[32];
  72.     unsigned char    pmParType[32];
  73.     unsigned long    pmLgDataStart;
  74.     unsigned long    pmDataCnt;
  75.     unsigned long    pmPartStatus;
  76.     unsigned long    pmLgBootStart;
  77.     unsigned long    pmBootSize;
  78.     unsigned long    pmBootAddr;
  79.     unsigned long    pmBootAddr2;
  80.     unsigned long    pmBootEntry;
  81.     unsigned long    pmBootEntry2;
  82.     unsigned long    pmBootCksum;
  83.     unsigned char    pmProcessor[16];
  84.     unsigned short    pmPad[188];            /* to make size be 512 */
  85. }Partition;
  86.  
  87.  
  88. #endif _SCSIMgr_